#!/bin/bash
#功能：  将相应的不同类型的字符串一次放入数组，用于字符转换
#传入参数  ： 需要存入数组的字符类型
#全局变量：array[]
#返回值  ： 无

function putarray() {
    local chars
    case $1 in
    digit)
        chars='0123456789'
        for (( i=0; i<10; i++ ))
        do
            array[$i]=${chars:$i:1}
        done
        ;;
    chars)
        chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
        for (( i=0; i<52; i++ ))
        do
            array[$i]=${chars:$i:1}
        done
        ;;
    mix)
        chars='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
        for (( i=0; i<62; i++ ))
        do
            array[$i]=${chars:$i:1}
        done
        ;;
    *)
        ;;
    esac
}


#功能：产生相应类型的随机数，用于转换为相应的随机字符
#传入参数：需要产生的字符类型
#全局变量：random_char,array[]
#返回值：  无
function get_random_char() {
    local typenum
    declare -i typenum=0
    case $1 in
    digit)
        typenum=$(($RANDOM%10))
        ;;
    char)
        typenum=$(($RANDOM%52))
        ;;
    mix)
        typenum=$(($RANDOM%62))
        ;;
    *)
        ;;
    esac
    random_char=${array[$typenum]}



}

putarray
get_random_char
